#pragma once

#include "iostream"
#include "vector"
#include "algorithm"

using namespace std;
/*HJJ QQ479287006
 *请实现一个函数，把字符串 s 中的每个空格替换成"%20"。

 

示例 1：

输入：s = "We are happy."
输出："We%20are%20happy."

来源：力扣（LeetCode）
链接：https://leetcode.cn/problems/ti-huan-kong-ge-lcof
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 * */
//22.23-
//也不算自己想的吧  先扩容从后向前 一点点扩充 一个 挺经常的思想

string replaceSpace(string s) {
    int r = s.size();
    int count = 0;
    for (int i = 0; i < s.size(); ++i) {
        if (s[i] == ' ')
            count++;
    }

    //扩容
    int index = s.size() + (count * 2) - 1;

    s.resize(index + 1);


    for (int i = r - 1; i >= 0; --i) {
        if (s[i] != ' ') {
            s[index--] = s[i];
        } else {
            s[index--] = '0';
            s[index--] = '2';
            s[index--] = '%';
        }

    }

    return s;

}

//利用特性一样可以
string replaceSpace2(string s) {


    for (int i = 0; i < s.size(); ++i) {

        if (s[i] == ' ') {
            s[i] = '%'
            s.insert(i + 1, "20");
        }

    }

}